Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Pixel Shuffle Function #112

Closed
wants to merge 2 commits into from

Conversation

shreyas-kowshik
Copy link

No description provided.

@shreyas-kowshik
Copy link
Author

Shifted function from : FluxML/Flux.jl#735 , as discussed with @dhairyagandhi96 .

I have created a new file specifically for these sort of operations on convolutions as adding this to conv.jl din't seem to fit in right, as it is filled with optimization and convolution utility functions.

All such operations in future can be added to conv_op.jl. Is it fine?

@codecov-io
Copy link

Codecov Report

Merging #112 into master will decrease coverage by 3.29%.
The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master     #112     +/-   ##
=========================================
- Coverage   96.66%   93.36%   -3.3%     
=========================================
  Files          17       18      +1     
  Lines         539      558     +19     
=========================================
  Hits          521      521             
- Misses         18       37     +19
Impacted Files Coverage Δ
src/NNlib.jl 100% <ø> (ø) ⬆️
src/conv_op.jl 0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 40cee4b...766f524. Read the comment docs.

@aterenin
Copy link

aterenin commented May 5, 2019

I've also implemented a pixel shuffle, as described here: https://arxiv.org/abs/1609.05158

My implementation is different from yours (just a reshape and permutedims, no need to partition) and, on running the code, doesn't shuffle pixels precisely the same way. Do you have a reference describing in detail the operation implemented here?

@shreyas-kowshik
Copy link
Author

shreyas-kowshik commented May 5, 2019

I've followed the following for refernce :
https://github.com/brade31919/SRGAN-tensorflow/blob/7f7ec0f929feb64a111221dc992f740cd48e11eb/lib/ops.py#L85-L112

The partition is for splitting the channels so as to cyclically permute them.

@shreyas-kowshik
Copy link
Author

@dhairyagandhi96 @staticfloat What else needs to be done more in this?

@tbenst
Copy link

tbenst commented May 10, 2020

Is this feature available in Flux yet? Considering porting code from pytorch that uses this. Thanks!

@CarloLucibello
Copy link
Member

superseded by #260

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants